package cn.iocoder.yudao.module.cms.benefit.vo;

import cn.iocoder.yudao.framework.validation.groups.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Tag(name = "权益保障新增/修改 Request VO")
@Data
public class BenefitSaveReqVO {

    @Schema(description = "唯一编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11427")
    @NotNull(message = "唯一编号不能为空", groups = {UpdateGroup.class})
    private Long id;

    @Schema(description = "种类，如：member_vip_benefit-用户权益、……", requiredMode = Schema.RequiredMode.REQUIRED, example = "member_vip_benefit")
    @NotEmpty(message = "种类不能为空")
    private String category;

    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "七天退换")
    @NotEmpty(message = "名称不能为空")
    private String name;

    @Schema(description = "简介", example = """
            <p>这是权益保证的介绍</p>
            """)
    private String summary;

    @Schema(description = "图标地址", example = "https://example.local/x.png")
    private String iconUrl;

    @Schema(description = "跳转链接", example = "uniapp:/pages/member/vip/benefit")
    private String linkUrl;

    @Schema(description = "排序", example = "1")
    private Integer sort;

}
